Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Initial constant routing support for 7-series #511

Merged
merged 2 commits into from Apr 5, 2019

Conversation

litghost
Copy link
Contributor

This implements the routing modifications required for constant support in 7-series parts. It is not currently working because the router cannot handle U-shaped routes. Investigations will continue in a seperate branch to isolate the failure and come up with a proposed modifications to this PR and to modify VPR if required.

@probot-autolabeler probot-autolabeler bot added arch-xc7-artix7 Issue related to the Artix 7 architecture description. lang-python Issue uses (or requires) Python language. type-utils Issues is related to the scripts inside the repo. labels Mar 28, 2019
@litghost litghost changed the title Initial (non-working) constant routing support. WIP:Initial (non-working) constant routing support. Mar 28, 2019
@litghost litghost changed the title WIP:Initial (non-working) constant routing support. WIP: Initial (non-working) constant routing support. Mar 28, 2019
litghost added a commit to litghost/symbiflow-arch-defs that referenced this pull request Mar 28, 2019
This is required to explore global routing errors found in f4pga#511.

Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
litghost added a commit to litghost/symbiflow-arch-defs that referenced this pull request Mar 28, 2019
This is required to explore global routing errors found in f4pga#511.

Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
Copy link
Collaborator

@mkurc-ant mkurc-ant left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why remove importing of INT_L and INT_R ?

@litghost
Copy link
Contributor Author

Why remove importing of INT_L and INT_R ?

Answered in the thread.

Copy link
Collaborator

@mkurc-ant mkurc-ant left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Got it.

@probot-autolabeler probot-autolabeler bot added lang-verilog Issue uses (or requires) Verilog language. lang-xml Issues uses (or requires) XML language. type-sim Issue is related to xxx.sim.v files. type-vpr labels Apr 2, 2019
@litghost litghost changed the title WIP: Initial (non-working) constant routing support. WIP: Initial constant routing support. Apr 2, 2019
@litghost
Copy link
Contributor Author

litghost commented Apr 2, 2019

This is now working with the latest VPR from conda. That VPR will be integrated into symbiflow-arch-defs in #518, which is currently failing CI, but will then be merged.

There is a latent bug in how the CE graph is expressed that I'm working on.

Copy link
Contributor

@mithro mithro left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Only major question is about the XXUSEDMUX, otherwise LGTM.

@litghost
Copy link
Contributor Author

litghost commented Apr 4, 2019

Only major question is about the XXUSEDMUX, otherwise LGTM.

I've removed the XXUSEDMUX change for now. I think the approach taken here was wrong, and needs another go.

@litghost litghost changed the title WIP: Initial constant routing support. Initial constant routing support for 7-series Apr 4, 2019
@litghost litghost force-pushed the constant_routing branch 2 times, most recently from 1cb6899 to 5b328e8 Compare April 4, 2019 20:53
…7-series dedicated constant sources:

- Change yosys to use new VCC and GND black boxes for the $true and
  $false nets.
- Implement synthetic tiles BLK_SY-VCC and BLK_SY-GND that connect to a
  global VCC and GND constant network respectively.
- Connect TIEOFF HARD0 and HARD1 pins to the new global constant
  networks.
- Add additional CARRY0 techmap to handle constant CYINIT signals.

Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
@litghost litghost force-pushed the constant_routing branch 3 times, most recently from d5eca42 to 9a46d2b Compare April 5, 2019 16:56
…_tracks

Multiple changes are required to add this support:
 - Temporary bounds on min x_low and y_low are removed.
 - Added basic test to channel2.Channel and fix bug due to unstable
   track ordering.
 - Add track model support to points.decompose_points_into_tracks,
   in particular adding support for tracks that connect a N-1 if
   available.
 - Adds more robust channel verification logic in prjxray_create_edges.
 - Add "right-only" mode to points.decompose_points_into_tracks.
   This is useful for arches where all pins are statically determined
   on the right of the tile, rather than choosen.

Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
@litghost litghost merged commit 6850f2c into f4pga:master Apr 5, 2019
@litghost litghost deleted the constant_routing branch April 5, 2019 17:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
arch-test arch-xc7-artix7 Issue related to the Artix 7 architecture description. lang-python Issue uses (or requires) Python language. lang-verilog Issue uses (or requires) Verilog language. lang-xml Issues uses (or requires) XML language. type-sim Issue is related to xxx.sim.v files. type-utils Issues is related to the scripts inside the repo. type-vpr
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants